#ifndef SK_B2_PROPERTIES_HELPER_H
#define SK_B2_PROPERTIES_HELPER_H

struct b2BodyDef;
struct b2FixtureDef;

class QDomDocument;
class QDomElement;

namespace sk
{
class GameItem;
class GameItemProperty;

struct B2PropertiesHelper
{
#ifndef SK_GAME_PROJECT
    static int numBodyDefProperties();
    static GameItemProperty * bodyDefProperty(GameItem * item, int ind, b2BodyDef * def);
#endif

    static void serialize(QDomDocument * doc, QDomElement * parent, b2BodyDef * def);
    static bool deserialize(QDomElement * parent, b2BodyDef * def);

#ifndef SK_GAME_PROJECT
    static int numFixtureDefProperties();
    static GameItemProperty * fixtureDefProperty(GameItem * item, int ind, b2FixtureDef * def);
#endif

    static void serialize(QDomDocument * doc, QDomElement * parent, b2FixtureDef * def);
    static bool deserialize(QDomElement * parent, b2FixtureDef * def);
};

} // namespace sk

#endif // SK_B2_PROPERTIES_HELPER_H
